package Veterinaria.negocio;

import java.util.Collection;

import Veterinaria.dao.ArticuloDAO;
import Veterinaria.excepcion.CodigoDuplicadoExcepcion;
import Veterinaria.excepcion.DAOExcepcion;
import Veterinaria.modelo.Articulo;

public class GestionArticulo {
	public Collection<Articulo> buscarPorDescripcion(String descripcion)
			throws DAOExcepcion {
		ArticuloDAO dao = new ArticuloDAO();
		return dao.listar();
	}

	public Articulo insertar(String idArticulo, String descripcion,
			String uni_med, Double precio, String estado) throws DAOExcepcion, CodigoDuplicadoExcepcion {
		ArticuloDAO dao = new ArticuloDAO();
		Articulo vo = new Articulo();
		vo.setCod_articulo(idArticulo);
		vo.setDescripcion(descripcion);
		vo.setUni_med(uni_med);
		vo.setPrecio(precio);
		vo.setEstado(estado);

		return dao.insertar(vo);
	}

	public Articulo obtener(String idArticulo) throws DAOExcepcion {
		ArticuloDAO dao = new ArticuloDAO();
		return dao.obtenerArticulo(idArticulo);
	}

	public void eliminar(String idArticulo) throws DAOExcepcion {
		ArticuloDAO dao = new ArticuloDAO();
		dao.eliminar(idArticulo);
	}

	public Articulo actualizar(String idArticulo, String descripcion,
			String uni_med, Double precio, String estado) throws DAOExcepcion {
		ArticuloDAO dao = new ArticuloDAO();

		Articulo vo = new Articulo();
		vo.setCod_articulo(idArticulo);
		vo.setDescripcion(descripcion);
		vo.setUni_med(uni_med);
		vo.setPrecio(precio);
		vo.setEstado(estado);

		return dao.actualizar(vo);
	}

	public Collection<Articulo> listar() throws DAOExcepcion {
		ArticuloDAO dao = new ArticuloDAO();
		return dao.listar();
	}

	public Collection<Articulo> ListaArticuloXDescripcion(String descripcion)
			throws DAOExcepcion {
		ArticuloDAO dao = new ArticuloDAO();
		return dao.ListaArticuloXDescripcion(descripcion);
	}

	public Articulo GenerarCodigo() throws DAOExcepcion {
		ArticuloDAO dao = new ArticuloDAO();
		return dao.GenerarCodigo();
	}
	
	public Collection<Articulo> obtenerReporteArticulos(String idarticulo, String detalle, String estado) throws DAOExcepcion {
		ArticuloDAO dao = new ArticuloDAO();
		return dao.obtenerReporteArticulos(idarticulo, detalle, estado);
	}
	
}